home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Essentials / MacApp Documentation / MacApp.TECH$ Archives / 1988 / Jan 88 / Curing Color Printing Blues 1⁄9 < prev    next >
Encoding:
Text File  |  1991-03-06  |  2.3 KB  |  55 lines  |  [TEXT/GEOL]

  1. Item    3047141                         9-Jan-88        14:14
  2.  
  3. From:   D0619                           Palomar Software, Dev, Joel West
  4.  
  5. To:     D0830                           Data Translation, Dev, R Burger
  6.  
  7. cc:     MACAPP$     Girand1 MacDTS      MacApp Interest List
  8.  
  9. Sub:    Curing color printing blues
  10.  
  11. Regarding the use of PixMaps on printer drivers, this
  12. is something we discovered the hard way when working
  13. on screen dumping and printing FKEYs in our Colorizer
  14. package.
  15.  
  16. As we are working on printer drivers, we’ve attempted
  17. to assemble various de facto rules for printing
  18. compatibility (from both the driver’s viewpoint and
  19. that of the application).  Some were in my March 1987
  20. MacTutor article.
  21.  
  22. The answer is in Palomar Tech Note #4, which I quote from
  23. below.  If anyone wants a copy of it, I’ll be glad to send
  24. the entire note electronically.  We’ll also have paper copies
  25. of our notes available upon request at the show.
  26.  
  27. Joel West
  28. Palomar Software, Inc.
  29.  
  30. Color Pixel Images
  31. Old color does not include the concept of a color pixel image.  There are no
  32. PixMaps supported by machines without Color QuickDraw.
  33.  
  34. Most existing printer drivers (with the notable exception of the Tektronix)
  35. give a GrafPort for drawing, even on the Mac II.  The rules for using  PixMaps
  36. with an old GrafPort under Color QuickDraw are somewhat complicated.
  37. If you do a CopyBits() to, say, the LaserWriter driver, you may expect it to
  38. just render the black & white equivalent.  The 5.0 driver will fail badly.
  39.  
  40. In srcCopy mode only, CopyBits() will pass a PixMap pointer to a QuickDraw
  41. bottleneck proc that’s expecting a BitMap pointer.  This allows color pixel
  42. images to show up in an old GrafPort in, for example, a MacWrite document
  43. window where a picture was pasted from the Scrapbook and is displayed with
  44. DrawPicture().  Unfortunately, the bottleneck proc will get confused unless
  45. it’s smart enough to check for a PixMap — which is true for StdBits but not for
  46. the LaserWriter 5.0 driver bottleneck proc.
  47.  
  48. One work-around  is to use EraseRect() and srcOr, which always converts a
  49. PixMap to a BitMap.  However, erasing bits is a very slow on the LaserWriter.
  50. Another way is to convert the PixMap offscreen to an offscreen BitMap yourself
  51. (with a CopyBits()) and then CopyBits() the resulting BitMap to the printing
  52. port.
  53.  
  54.  
  55.